Plot Fermi Surface
Fermi Surface
Weyl Semimetal
Define the dispersion
Download original notebookEnergy[{kx_, ky_, kz_}] := (*SqB[*)Sqrt[(*SpB[*)Power[(Sin[kx])(*|*),(*|*)2](*]SpB*) + (*SpB[*)Power[(Sin[ky])(*|*),(*|*)2](*]SpB*) + (*SpB[*)Power[(2 - Cos[kx] - Cos[ky] - Cos[kz])(*|*),(*|*)2](*]SpB*)](*]SqB*);
FindMaximum[Energy[{kx,ky,kz}], {kx,ky,kz}]
{5.`,{kx->3.1415926536536523`,ky->3.1415926536536483`,kz->3.141592646118861`}}
Plot it
ContourPlot3D[Energy[{kx,ky,kz}], {kx,-\[Pi], \[Pi]}, {ky, -\[Pi], \[Pi]}, {kz, -\[Pi], \[Pi]}, PerformanceGoal->"Speed", PlotLegends->Automatic]
(*VB[*)(Legended[ToExpression[FrontEndRef["b3e9242f-9a07-4ab0-a054-bddd31c800bf"], InputForm], Placed[SwatchLegend[{Directive[Specularity[GrayLevel[1], 3], RGBColor[0.880722, 0.611041, 0.142051], Lighting -> {{"Ambient", RGBColor[0.30100577, 0.224146685, 0.090484535]}, {"Directional", RGBColor[0.2642166, 0.1833123, 0.04261530000000001], ImageScaled[{0, 2, 2}]}, {"Directional", RGBColor[0.2642166, 0.1833123, 0.04261530000000001], ImageScaled[{2, 2, 2}]}, {"Directional", RGBColor[0.2642166, 0.1833123, 0.04261530000000001], ImageScaled[{2, 0, 2}]}}], Directive[Specularity[GrayLevel[1], 3], RGBColor[0.368417, 0.506779, 0.709798], Lighting -> {{"Ambient", RGBColor[0.19699838300000003, 0.252204821, 0.33320940200000004]}, {"Directional", RGBColor[0.15473514000000002, 0.21284718000000002, 0.29811516000000005], ImageScaled[{0, 2, 2}]}, {"Directional", RGBColor[0.15473514000000002, 0.21284718000000002, 0.29811516000000005], ImageScaled[{2, 2, 2}]}, {"Directional", RGBColor[0.15473514000000002, 0.21284718000000002, 0.29811516000000005], ImageScaled[{2, 0, 2}]}}], Directive[Specularity[GrayLevel[1], 3], RGBColor[0.560181, 0.691569, 0.194885], Lighting -> {{"Ambient", RGBColor[0.1830429875, 0.2142476375, 0.0962851875]}, {"Directional", RGBColor[0.14004525, 0.17289225, 0.04872125], ImageScaled[{0, 2, 2}]}, {"Directional", RGBColor[0.14004525, 0.17289225, 0.04872125], ImageScaled[{2, 2, 2}]}, {"Directional", RGBColor[0.14004525, 0.17289225, 0.04872125], ImageScaled[{2, 0, 2}]}}]}, {NumberForm[1.4817627457812106, {Infinity, 3}], NumberForm[2.6545084971874737, {Infinity, 3}], NumberForm[3.8272542485937366, {Infinity, 3}]}, LegendMarkers -> Graphics3D[Sphere[{0, 0, 0}], ViewPoint -> {0, 0, Infinity}, PlotRange -> {{-0.7, 0.7}, {-0.7, 0.7}, All}, ImagePadding -> 0], LabelStyle -> {}, LegendLayout -> "Column", LegendMarkerSize -> 12], After, Identity]])(*,*)(*"1:eJzFVltIFFEYnrxVXkKyl55CMCRot/VSJoQn84Y1pjkVUT10ZubM7qHZGTk7q2499FDRDSOsLAp8M0o0hOwmmHTzUhGVlCBhRmRFBoUPPUTSOTvs6m4DYrvaPvzMOXP+7/vOf75/9qSLerUSy3GcJ4WGnRjVFSNJJ9DQibCQzvDIiTQ5W4lhSxJpKJExfccWKgvY3FIaSomuGSWaXFKPJK8BRRUJGXRazEH52bnZii0fOvJsuVB02KBjba5NlGU5J0ta73CIigkcR0O1l6YtYg8IypWa6vPPbideZOpLoKFKhRKSFfboSaZBqIOG5DI1mqtYDo89hjlaTEMxJkgycC0yqZJYWg3VqUKCDZ+5CbaujEAfj2qRitkUZvkmiF9T2aYiXdUJ4R/t+fTOPg7I5MHvwy0NHwC5cel6Zpf9AQjdiT+Lx06XgTWnEhciLWb6yF/lQreIkWZY8D1uPdzZXjQIyGj9k7Y3Hc8AOelsbppcdRuE7ldImtqqrkHVAsr+Nvbe+OcXgCB7V0JfbR8gBULzmraXLcAsAkMod0MnEiSoorB6Yo4VJSYQ5pk85r+Tc6Hk0TdWTVPjx4xzQ4BkNX25cDxvFJC+Ixe3tN4amyNjTfSvXleQNwDIqdajHSsyaHFcr9KOVQivZ2+slN6v2t7nDylCa+PpswVPAdmXdu3ytmWD82GsyMgjNFYUyOfcWNzY7k7u23tAvO3dlTvSxwBZfqZ75PeP/jky1o2GEyMTbtpjA3ImqVNpTVqGFGnllTuzN5Yp/X5Aem9A+tX5MFZk5BEaKwrknDX51D/5Vq9bRKRUJ27S82vXMH/zJwg9aJMqNSgWyeWagjXqwWmGs4I7P0kmtA3xG6MEt/nQXV9e85J/hgs6nF1xzMtCBST7EfGYNk80e6nGhSVPTrGJm+BvOhciyMpVwRBGwLqSXY2qdBzojb8TZxBuAVml6kY11JzI6igDI6L4f2M9gQcw03sPQytU1TDG5IC3qqAs02+B1UZZyXgoIlUwfCpSOGtZQTiz6Dz06V5DYKWlLve6tbCVqWHHI+ADCLN0TzwTqhj0xFiXlMv0y0PL9QcbZ9Vk"*)(*]VB*)
Find the velocity at the surface
velocity = (*FB[*)((2Pi)(*,*)/(*,*)(h))(*]FB*) Grad[Energy[{kx,ky,kz}], {kx,ky,kz}]
{(*FB[*)((\[Pi] (2 Cos[kx] Sin[kx]+2 (2-Cos[kx]-Cos[ky]-Cos[kz]) Sin[kx]))(*,*)/(*,*)(h ((*SqB[*)Sqrt[(*SpB[*)Power[(2-Cos[kx]-Cos[ky]-Cos[kz])(*|*),(*|*)2](*]SpB*)+(*SpB[*)Power[Sin[kx](*|*),(*|*)2](*]SpB*)+(*SpB[*)Power[Sin[ky](*|*),(*|*)2](*]SpB*)](*]SqB*))))(*]FB*),(*FB[*)((\[Pi] (2 Cos[ky] Sin[ky]+2 (2-Cos[kx]-Cos[ky]-Cos[kz]) Sin[ky]))(*,*)/(*,*)(h ((*SqB[*)Sqrt[(*SpB[*)Power[(2-Cos[kx]-Cos[ky]-Cos[kz])(*|*),(*|*)2](*]SpB*)+(*SpB[*)Power[Sin[kx](*|*),(*|*)2](*]SpB*)+(*SpB[*)Power[Sin[ky](*|*),(*|*)2](*]SpB*)](*]SqB*))))(*]FB*),(*FB[*)((2 \[Pi] (2-Cos[kx]-Cos[ky]-Cos[kz]) Sin[kz])(*,*)/(*,*)(h ((*SqB[*)Sqrt[(*SpB[*)Power[(2-Cos[kx]-Cos[ky]-Cos[kz])(*|*),(*|*)2](*]SpB*)+(*SpB[*)Power[Sin[kx](*|*),(*|*)2](*]SpB*)+(*SpB[*)Power[Sin[ky](*|*),(*|*)2](*]SpB*)](*]SqB*))))(*]FB*)}
Vector plot
SliceVectorPlot3D[Block[{h=1}, velocity], Energy[{kx,ky,kz}] == 1.5, {kx,-\[Pi],\[Pi]}, {ky,-\[Pi],\[Pi]}, {kz,-\[Pi],\[Pi]}, ImageSize->Medium]
(*VB[*)(FrontEndRef["365c4ae9-c957-458a-b241-fc53c6228fb8"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG5uZJpskplrqJluamuuamFok6iYZmRjqpiWbGiebGRlZpCVZAACAjRWA"*)(*]VB*)